<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //利用indexOf()去重。
      // 新建一个空数组。 把旧数组里的每一项 加到新数组里  加入的时候如果， 新数组里已经存在了，就把该项跳过
      var arr = [1, 1, "true", "true", true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, "NaN", 0, 0, "a", "a", {}, {}];
      newArr = [];
      for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {
          newArr.push(arr[i]);
        }
      }
      console.log(newArr);
      //         0: 1
      // 1: "true"
      // 2: true
      // 3: 15
      // 4: false
      // 5: undefined
      // 6: null
      // 7: NaN
      // 8: NaN
      // 9: "NaN"
      // 10: 0
      // 11: "a"
      // 12: {}
      // 13: {}

      // 不能去重 NaN ， {}  还是有一定的缺陷
    </script>
  </body>
</html>
